home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / misc / WHDLoaddev.lha / WHDLoad / Src / sources / picture.s < prev    next >
Text File  |  1997-08-31  |  2KB  |  76 lines

  1. ;*---------------------------------------------------------------------------
  2. ;  :Program.    picture.s
  3. ;  :Contents.    show picture (init custom/copper, decrunch pic)
  4. ;  :History.    30.08.97 extracted form slave sources
  5. ;  :Requires.    _resload    long variable containing resload base
  6. ;        _colors        color table
  7. ;  :Copyright.    Public Domain
  8. ;  :Language.    68000 Assembler
  9. ;  :Translator.    Barfly V1.131
  10. ;  :To Do.
  11. ;---------------------------------------------------------------------------*
  12. ;
  13. ; IN:    A0 = APTR start of packed picture
  14. ;    A1 = APTR address for screen memory
  15. ; OUT:    d0-d1/a0-a1 destroyed
  16. ;
  17. ;--------------------------------
  18.  
  19. _Picture    movem.l    d2-d7/a2-a6,-(a7)
  20.  
  21.         lea    (_custom),a6        ;A6 = _custom
  22.         move.l    (_resload),a5        ;A5 = _resload
  23.         move.l    a1,a4            ;A4 = Screen start
  24.         moveq    #3,d4            ;D4 = Picture depth
  25.         
  26.         move.l    a4,a1
  27.         jsr    (resload_Decrunch,a5)
  28.         
  29.         lea    (a4,d0.l),a1        ;A1 copperlist
  30.         divu    d4,d0            ;D0 size of a bitplane
  31.         move.w    #bplpt,d1
  32.         move.l    a1,(cop1lc,a6)
  33.         move.l    a4,d2
  34.         move.l    d4,d3
  35.  
  36. .mcl        move.w    d1,(a1)+
  37.         addq.w    #2,d1
  38.         swap    d2
  39.         move.w    d2,(a1)+
  40.         move.w    d1,(a1)+
  41.         addq.w    #2,d1
  42.         swap    d2
  43.         move.w    d2,(a1)+
  44.         add.l    d0,d2
  45.         subq.w    #1,d3
  46.         bne    .mcl
  47.         moveq    #-2,d0
  48.         move.l    d0,(a1)+
  49.         waitvb    a6
  50.         move.w    #DMAF_SETCLR|DMAF_MASTER|DMAF_COPPER,(dmacon,a6)
  51.         
  52.         lea    _colors,a0
  53.         lea    (color,a6),a1
  54.         moveq    #1,d0
  55.         lsl.w    d4,d0
  56. .mc        move.w    (a0)+,(a1)+
  57.         subq.w    #1,d0
  58.         bne    .mc
  59.         
  60.         move.l    #$2981f1c1,(diwstrt,a6)        ;320x200
  61.         move.l    #$003800d0,(ddfstrt,a6)
  62.         move.w    d4,d0                ;depth
  63.         ror.w    #4,d0
  64.         or.w    #$0200,d0
  65.         move.w    d0,(bplcon0,a6)
  66.         clr.w    (bplcon1,a6)
  67.         clr.l    (bpl1mod,a6)
  68.  
  69.         waitvb    a6
  70.         move.w    #DMAF_SETCLR|DMAF_MASTER|DMAF_RASTER,(dmacon,a6)
  71.         
  72.         movem.l    (a7)+,d2-d7/a2-a6
  73.         rts
  74.  
  75.  
  76.